package com.ruoyi.dataroom;

import com.clickhouse.client.internal.google.common.collect.Sets;
import com.gccloud.common.permission.IApiPermissionService;
import com.gccloud.dataroom.core.permission.IDataRoomPermissionService;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServletRequest;
import java.util.Set;

/**
 * @author dataroom
 * @version 1.0
 * @date 2023/10/20 10:26
 */
@Service
public class PermissionServiceImpl implements IApiPermissionService {

    @Override
    public boolean verifyApiPermission(HttpServletRequest request, String... permission) {
//        // 获取当前用户的权限
//        LoginUser loginUser = SecurityUtils.getLoginUser();
//        Set<String> permissions = loginUser.getPermissions();
//        if (permissions.contains("*:*:*")) {
//            // 若依的全部权限标识
//            return true;
//        }
//        // 判断当前用户是否拥有对应的权限
//        for (String s : permission) {
//            if (!permissions.contains(s)) {
//                return false;
//            }
//        }
//        // 返回值true标识校验通过
        return true;
    }

//    // 参数pageCode即为大屏页面的编码，在设计大屏时可在路由code参数中看到
//    @Override
//    public boolean verifyDataPermission(HttpServletRequest request, String pageCode) {
//        // 获取当前登录用户可访问的大屏页面编码列表
//        Set<String> pageCodes = getUserPages();
//        return pageCodes.contains(pageCode);
//    }
//
//    // 该方法模拟获取当前登录用户可访问大屏页面的编码列表，具体实现需要根据实际项目自行修改
//    private Set<String> getUserPages() {
//        Set<String> pageCodes = Sets.newHashSet("bigScreen_iGkeIWt8KQ", "bigScreen_zQ2pfEMxPJ");
//        return pageCodes;
//    }

}
